157224b523e155cee4e8a343c0c7dc711ac09c48,src/mitiv/cost/EdgePreservingDeconvolution.java,EdgePreservingDeconvolution,update,#,213
Before Change
boolean pad = false;
final int[] cropDims = new int[rank];
for (int k = 0; k < rank; ++k) {
if (objectShape.dimension(k) < object.getDimension(k)) {
crop = true;
}
if (objectShape.dimension(k) > object.getDimension(k)) {
pad = true;
}
cropDims[k] = Math.max(objectShape.dimension(k), object.getDimension(k));
}
if (crop) {
object = ArrayUtils.crop(object, new Shape(cropDims));
After Change
/* Crop/pad the given object to the proper dimensions. */
double val = 0;
for (int k = 0; k < rank; ++k) {
if (objectShape.dimension(k) > object.getDimension(k)) {
val = weightedData.getWeightedMean()/sum(psf);
break;
}
}
System.err.format("Pad initial array with value %g\n", val);
object = ArrayUtils.extract(object, objectShape, val);